স্প্রিং জেডিবিসি (Spring JDBC) ব্যবহার করে একটি সাধারণ JDBC প্রজেক্ট তৈরি করার জন্য, আমরা সাধারণত কয়েকটি ধাপে কাজ করি। নিচে একটি Hello JDBC Example তৈরি করার প্রক্রিয়া দেওয়া হয়েছে।
এখানে একটি ডেটাবেস টেবিল থাকবে এবং আমরা সেটি থেকে ডেটা রিড এবং ইনসার্ট করতে পারব।
প্রথমে, আমাদের Maven ব্যবহার করে প্রজেক্টে স্প্রিং জেডিবিসি এবং ডেটাবেস ড্রাইভার যুক্ত করতে হবে।
pom.xml
ফাইলের মধ্যে নিচের ডিপেনডেন্সিগুলি যোগ করুন:
<dependencies>
<!-- Spring JDBC Dependency -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.20</version>
</dependency>
<!-- Spring Core Dependency -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.20</version>
</dependency>
<!-- MySQL JDBC Driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<!-- Spring Context Dependency for DI -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.20</version>
</dependency>
</dependencies>
আমাদের ডেটাবেসের সাথে সংযোগ স্থাপন করার জন্য একটি DataSource
কনফিগারেশন প্রয়োজন। নিচে একটি applicationContext.xml
কনফিগারেশন ফাইলের উদাহরণ দেওয়া হলো:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<!-- DataSource Bean -->
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/yourdb" />
<property name="username" value="yourusername" />
<property name="password" value="yourpassword" />
</bean>
<!-- JdbcTemplate Bean -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
</beans>
এখানে আপনি yourdb
, yourusername
এবং yourpassword
আপনার ডেটাবেসের তথ্য দিয়ে পরিবর্তন করবেন।
এখন আমাদের ডেটাবেস থেকে ডেটা পড়তে এবং ইনসার্ট করতে একটি DAO ক্লাস তৈরি করতে হবে। এখানে একটি উদাহরণ দেওয়া হলো:
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
public class EmployeeDao {
private JdbcTemplate jdbcTemplate;
// Setter method for JdbcTemplate
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
// Insert an employee into the database
public void addEmployee(Employee employee) {
String sql = "INSERT INTO employee (id, name, salary) VALUES (?, ?, ?)";
jdbcTemplate.update(sql, employee.getId(), employee.getName(), employee.getSalary());
}
// Fetch an employee by ID
public Employee getEmployeeById(int id) {
String sql = "SELECT * FROM employee WHERE id = ?";
return jdbcTemplate.queryForObject(sql, new Object[]{id}, new EmployeeRowMapper());
}
}
class Employee {
private int id;
private String name;
private double salary;
// Getters and Setters
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
class EmployeeRowMapper implements RowMapper<Employee> {
@Override
public Employee mapRow(ResultSet rs, int rowNum) throws SQLException {
Employee employee = new Employee();
employee.setId(rs.getInt("id"));
employee.setName(rs.getString("name"));
employee.setSalary(rs.getDouble("salary"));
return employee;
}
}
এখানে, EmployeeDao
ক্লাস ডেটাবেসের সাথে যোগাযোগ করতে JdbcTemplate
ব্যবহার করছে। addEmployee()
মেথডের মাধ্যমে একটি কর্মীকে ডেটাবেসে ইনসার্ট করা হচ্ছে, এবং getEmployeeById()
মেথডের মাধ্যমে একজন কর্মীকে ID দিয়ে পাওয়া যাচ্ছে।
এখন আমরা একটি Main Class তৈরি করব, যেখানে আমরা DAO ক্লাসটি ব্যবহার করব।
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class HelloJDBCExample {
public static void main(String[] args) {
// Load the Spring context
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// Get the EmployeeDao bean
EmployeeDao employeeDao = (EmployeeDao) context.getBean("employeeDao");
// Create a new employee
Employee employee = new Employee();
employee.setId(1);
employee.setName("John Doe");
employee.setSalary(50000);
// Insert employee into the database
employeeDao.addEmployee(employee);
// Fetch the employee by ID
Employee fetchedEmployee = employeeDao.getEmployeeById(1);
System.out.println("Employee: " + fetchedEmployee.getName() + ", Salary: " + fetchedEmployee.getSalary());
}
}
আপনার MySQL ডেটাবেসে একটি employee
টেবিল তৈরি করুন:
CREATE TABLE employee (
id INT PRIMARY KEY,
name VARCHAR(50),
salary DECIMAL(10, 2)
);
আপনি যদি সবকিছু সঠিকভাবে কনফিগার করেন এবং ডেটাবেসে ডেটা ইনসার্ট করেন, তখন আপনার প্রজেক্ট রান করার পর কর্মী (Employee) টেবিল থেকে ডেটা ইনসার্ট এবং ফেচ করতে সক্ষম হবেন।
এটি ছিল স্প্রিং জেডিবিসি ব্যবহার করে একটি সাধারণ "Hello JDBC Example" প্রজেক্ট। এখানে আমরা JdbcTemplate
ব্যবহার করে ডেটাবেসে ডেটা ইনসার্ট এবং রিড করেছি।
Read more